package com.project.service;

import com.project.domain.entity.BizProjectBudgetBatch;
import com.project.domain.entity.BizProjectBudgetFee;

import java.util.List;

public interface IProjectBudgetService {

    //region 项目预算主表
    /**
     * 查询项目预算主表
     *
     * @param ID 项目预算主表主键
     * @return 项目预算主表
     */
    BizProjectBudgetBatch selectBizProjectBudgetBatchByID(String ID);

    /**
     * 查询项目预算主表列表
     *
     * @param bizProjectBudgetBatch 项目预算主表
     * @return 项目预算主表集合
     */
    List<BizProjectBudgetBatch> selectBizProjectBudgetBatchList(BizProjectBudgetBatch bizProjectBudgetBatch);

    /**
     * 新增项目预算主表
     *
     * @param bizProjectBudgetBatch 项目预算主表
     * @param operType
     * @return 结果
     */
    int insertBizProjectBudgetBatch(BizProjectBudgetBatch bizProjectBudgetBatch,String operType);

    /**
     * 修改项目预算主表
     *
     * @param bizProjectBudgetBatch 项目预算主表
     * @param operType
     * @return 结果
     */
    int updateBizProjectBudgetBatch(BizProjectBudgetBatch bizProjectBudgetBatch,String operType);

    /**
     * 批量删除项目预算主表
     *
     * @param IDs 需要删除的项目预算主表主键集合
     * @return 结果
     */
    int deleteBizProjectBudgetBatchByIDs(String[] IDs);

    /**
     * 删除项目预算主表信息
     *
     * @param ID 项目预算主表主键
     * @return 结果
     */
    int deleteBizProjectBudgetBatchByID(String ID);
    //endregion

    //region 项目预算从表
    /**
     * 查询项目预算额度(预算从表)
     *
     * @param ID 项目预算额度(预算从表)主键
     * @return 项目预算额度(预算从表)
     */
    BizProjectBudgetFee selectBizProjectBudgetFeeByID(String ID);

    /**
     * 查询项目预算额度(预算从表)列表
     *
     * @param bizProjectBudgetFee 项目预算额度(预算从表)
     * @return 项目预算额度(预算从表)集合
     */
    List<BizProjectBudgetFee> selectBizProjectBudgetFeeList(BizProjectBudgetFee bizProjectBudgetFee);

    /**
     * 新增项目预算额度(预算从表)
     *
     * @param bizProjectBudgetFee 项目预算额度(预算从表)
     * @param operType
     * @return 结果
     */
    int insertBizProjectBudgetFee(BizProjectBudgetFee bizProjectBudgetFee,String operType);

    /**
     * 修改项目预算额度(预算从表)
     *
     * @param bizProjectBudgetFee 项目预算额度(预算从表)
     * @return 结果
     */
    int updateBizProjectBudgetFee(BizProjectBudgetFee bizProjectBudgetFee);

    /**
     * 批量删除项目预算额度(预算从表)
     *
     * @param IDs 需要删除的项目预算额度(预算从表)主键集合
     * @return 结果
     */
    int deleteBizProjectBudgetFeeByIDs(String[] IDs);

    /**
     * 删除项目预算额度(预算从表)信息
     *
     * @param ID 项目预算额度(预算从表)主键
     * @return 结果
     */
    int deleteBizProjectBudgetFeeByID(String ID);
    //endregion

}
